# 代理ip的使用（以天启ip为例）
import requests
from fake_useragent import FakeUserAgent
from lxml import etree


# 定义一个获取当前ip的函数
def get_my_ip(proxies=None):
    # 得到IP的网址
    url = 'https://ip.900cha.com/'

    # 定义请求头
    headers = {'User-Agent': FakeUserAgent().random}

    # 发起网络请求
    response = requests.get(url, headers=headers, proxies=proxies)

    # 通过Xpath来筛选出IP信息并输出
    tree = etree.HTML(response.text)
    ip = tree.xpath('//h3/text()')[0][9:-1]
    print(ip)


# 定义一个得到代理IP的函数
def get_ip():
    # 读取IP列表内容
    with open('ip_addr.txt', 'r', encoding='utf_8') as f:
        ip_addr = f.readlines()

    # 由于得到的IP有'/n'将其去掉并存储到ip_list中
    ip_list = []
    for ip in ip_addr:
        ip = ip.split('\n')[0]
        ip_list.append(ip)
    return ip_list


if __name__ == '__main__':
    # 使用函数并赋值
    ip_list = get_ip()

    # 通过for循环来使用代理IP
    for ip in ip_list:
        proxies = {'https': ip}
        get_my_ip(proxies)
